import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

//配置全局数据
export default new Vuex.Store({
  state: {
    token: '',
    userInfo: JSON.parse(sessionStorage.getItem("userInfo"))
  },
  mutations: {     //state中的属性是不能直接设置,而要通过mutations中的方法设置
    //set
    SET_TOKEN: (state,token) => {   //括号中state是载体，token是传入的参数
      state.token = token   //设置
      localStorage.setItem('token',token)   //存入浏览器的localStorage中，这样即使浏览器关闭了，数据仍然存在
    },
    SET_USERINFO: (state,userInfo) => {   //括号中state是载体，token是传入的参数
      state.userInfo = userInfo   //设置
      sessionStorage.setItem('userInfo',JSON.stringify(userInfo)) //存入浏览器的sessionStorage中，表示当前会话能识别用户(同时 sessionStorage中只能寸字符串)

    },
    REMOVE_INFO: (state) => {
      state.token = ''
      state.userInfo = {}
      localStorage.setItem("token",'')
      sessionStorage.setItem("userInfo",JSON.stringify(''))
    }

  },
  getters: {
    //get
    getUser: state => {
      return state.userInfo
    }
  }
  ,
  actions: {
  },
  modules: {
  }
})
